Data centers often provide virtualization services for clients. For example, a data center with multiple machines can allocate storage, processors, memory, network bandwidth and other resources to virtual machines operating within the data center. Users of the virtual machines, or the virtual machines themselves, consume resources of the data center. Resource usage is typically limited by available resources. The data center is unable to limit the resources that can be used by a user. While this is not a serious issue in a single-user environment in which a user can consume any available resources without limitation, this arrangement can be especially problematic in multi-user environments. In a multi-user environment, multiple users attempt to use the same data center resources. Thus, two users may attempt to allocate or use the same set of resources. Similarly, the data center is unable to ensure that particular resources will be available for a particular user, because other users may suddenly start using those resources.